﻿using AutoMapper;
using B.S.ProcessEgine.API.Applocations.Commands.FormInfoCommand;
using B.S.ProcessEgine.API.Applocations.Commands.FormNodes;
using B.S.ProcessEgine.API.Applocations.Commands.FormTypeInfoCommand;
using B.S.ProcessEgine.API.Dtos.RequestDto;
using B.S.ProcessEgine.API.Dtos.ResponseDto;
using B.S.ProcessEgine.Domain.Entities;
using B.S.ProcessEgine.ErrorCode;
using B.S.ProcessEgine.Infractructure.Implements;

namespace B.S.ProcessEgine.API.Untils
{
    public class MapperProFiles:Profile
    {
        public MapperProFiles()
        {
            CreateMap<AddFormTypeInfoCommand,FormTypeInfo>().ReverseMap();

            CreateMap<UpdateFormTypeInfoCommand, FormTypeInfo>().ReverseMap();

            CreateMap<ApiPaging<PagingFormTypeInfoRespDto>, ApiPaging<FormTypeInfo>>().ReverseMap();
            //CreateMap<ApiPaging<FormTypeInfo> ,ApiPaging<PagingFormTypeInfoRespDto>>().ReverseMap();

            CreateMap<PagingFormTypeInfoRespDto, FormTypeInfo>().ReverseMap();

            CreateMap<GridProfessionalRespDto, GridProfessional>().ReverseMap();


            CreateMap<AddFormInfoCommand, FormInfo>().ReverseMap();

            CreateMap<FormUpdateCommand, FormInfo>().ReverseMap();


            CreateMap<List<PagingFormTypeInfoRespDto>, ApiPaging<FormTypeInfo>>().ReverseMap();


            //CreateMap<IList<FormInfoDetail>, IList<FromDetailRequestDto>>().ReverseMap();
            CreateMap<FormInfoDetail, FromDetailRequestDto>().ReverseMap();

            CreateMap<FormInfoDetail, GetFormDetailResponseDto>().ReverseMap();

            CreateMap<FormTypeInfo, GetFormTypeReponseDto>().ReverseMap();


            CreateMap<AddFormNodeCommand, FormNodes>().ReverseMap();
            CreateMap<List<FormInfo>, FormInfo>().ReverseMap();

            CreateMap<FormNodes, FormNodeInputDto>().ReverseMap();





        }
    }
}
